package com.eve.eplus.common.tools;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**时间获取工具
 * 
 * @author Norsie
 * @create 12-12-26
 */
public class ComTimeTools
{

    /** 按照给定格式返回当前日期时间
     * 
     * @param format
     *      yyyy年
     *      MM月
     *      dd日
     *      HH时
     *      mm分
     *      ss秒
     * @return
     */
    public static String getTime(String format) {
        DateFormat mFormat = new SimpleDateFormat (format);
        Date   curDate   =   new   Date(System.currentTimeMillis());
        return mFormat.format(curDate);
    }

    
    /**计算时间差(Format:yyyy-MM-dd HH:mm:ss)
     * 
     * @param earlyTime yyyy-MM-dd HH:mm:ss
     * @param curTime yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static Long getTimeDiff(String earlyTime,String curTime) {
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try
        {
        Date mEarlyTime=df.parse(earlyTime);
        Date mCurTime=df.parse(curTime);
        long diff =mCurTime.getTime()-mEarlyTime.getTime();
        long days = diff / (1000 * 60 * 60 * 24);
        return days;
        }
        catch (Exception e)
        {
            LogTools.error("ComTimeTools Error:getTimeDiff", e);
            return 0L;
        }
        
    }
    /**
     * GMT时间转换,输入格式 EEE MMM dd HH:mm:ss ZZZZZ yyyy|Tue May 31 17:46:55 +0800 2011
     * @param time
     * @return
     */
    public static String getGMT2YYYY(String time) {
        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZZZ yyyy",Locale.US);
        try 
        {
            Date date = (Date)sdf.parse(time);
            SimpleDateFormat day = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return day.format(date);
        }
        catch (ParseException e) 
        {
            e.printStackTrace();
            return "ERROR";
        }
    }
    
//    /**
//     * 判断是否为当天
//     * @param time yyyy-MM-dd HH:mm:ss
//     * @return
//     */
//    public static boolean isToday(String time) {
//        if(getTimeDiff(time,getTime("yyyy-MM-dd HH:mm:ss"))<=0)
//            return true;
//        else
//            return false;
//    }
    
}
